package xyz.xtt.asset.client.response;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Objects;

import lombok.Data;
import xyz.xtt.asset.api.enums.BizTypeEnum;

/**
 * @author dale
 * @date 2025/2/19
 **/
@Data
public class TblAssetExpandDto implements Serializable {
	private static final long serialVersionUID = 1L;

	/** 主键ID */
	private Long id;

	/** 父ID，归属地皮类是0，经营证类归属的地皮 */
	private Long parentId;

	/** 资产编号 */
	private Long assetNo;

	/** 资产名称 */
	private String assetName;

	/** 资产描述 */
	private String description;

	/** 指导价 */
	private BigDecimal guidePrice;

	/** 资产价格 */
	private BigDecimal price;

	/** 资产计价单位 */
	private Integer unit;

	/** 资产数量 */
	private Integer amount;

	/** 创作者ID（平台方） */
	private String authorId;

	/** 所有人ID（拥有者） */
	private String ownerId;

	/** 合作者ID（代理商） */
	private String cooperationId;

	/** 资产热度 */
	private Long popularityRate;

	/** 风格ID */
	private Long collectionId;

	/**
	 * 资产一级分类 00：地皮，01：经营证，02：店铺，03：社群，04：权益，05：藏品，06：元宇宙
	 */
	private Integer firstType;

	/**
	 * 资产二级分类 00：商业地皮，其他类型依次类推：
	 * 01、02、……10：A类经营证，20：实体店铺,30：商家社群,40：商家权益，50：音乐，60：数字人
	 */
	private Integer secondType;

	/**
	 * 资产状态 0：销毁，1：冻结，2：上架，3：下架
	 */
	private Integer showState;

	/**
	 * 出售方式 0: 出售 1：寄售 2：赠送 3：拍卖
	 */
	private Integer sellPattern;

	/** 创建时间 */
	private Long createDatetime;

	/** 最新修改时间 */
	private Long lastModifyDatetime;

	/** 业务方商品ID */
	private String goodsId;

	/** 源数据 */
	private String metaData;

	/** 归属方 0：用户 1：平台 2：代理商 */
	private Integer ownerType;

	private String bizType;

	/** 资产扩展信息 */
	private TblAssetExtDto tblAssetExtDto;

	/** 资产用户操作日志 */
	private TblAssetUserLogDto tblAssetUserLogDto;

	/**
	 * 是否是中资产中心的数据
	 *
	 * @return
	 */
	public boolean isAssetNft() {
		return Objects.equals(BizTypeEnum.NFT.dbType(), bizType);
	}
}
